*** Settings ***
Resource  ../流程层.robot
Suite Setup  进入任务历史信息页
Suite Teardown  关闭浏览器
Force Tags  回归测试

*** Variables ***
&{taskHistory}  name=任务编辑  status=1

*** Test Cases ***
任务历史检索正例
    [Documentation]  根据在任务管理中创建的任务执行结果来确定此次检索结果是成功还是失败
    # 输入历史任务名称
    输入文本  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[1]/div/div/span/div/input
    ...  ${taskHistory}[name]
    # 点击任务状态下拉框
    点击元素  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[2]/div/div/div/div/div/input
    sleep  0.5
    # 根据“status”选择任务状态 1=执行成功，2=正在执行，3=执行失败
    run keyword if  '${taskHistory}[status]'=='1'  点击元素  xpath=/html/body/div[2]/div[1]/div[1]/ul/li[1]/span
    ...  ELSE IF  '${taskHistory}[status]'=='2'  点击元素  xpath=/html/body/div[2]/div[1]/div[1]/ul/li[2]/span
    ...  ELSE  点击元素  xpath=/html/body/div[2]/div[1]/div[1]/ul/li[3]/span
    # 选择执行时间为“最近一月”
    点击元素  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[3]/div/div/div/div/div[1]/input
    点击元素  xpath=/html/body/div[3]/div[1]/div[1]/ul/li[7]/span
    # 点击检索按钮
    点击元素  xpath=//*[@id="app"]/div/div[1]/div/div[2]/span/button[1]
    # 获取任务名称文本,判断是否与检索名称一致
    ${text1}  获取文本
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr[1]/td[1]/div/div/span/span
    should be equal  ${text1}  ${taskHistory}[name]
    # 获取任务描述文本
    ${text2}  获取文本
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr[1]/td[2]/div/div/span
    should be equal  ${text2}  手动触发

下载按钮功能测试
    [Documentation]  点击下载按钮，需判断下是否有日志文件在浏览器的下载目录中
    # 点击第一条记录的下载按钮
    点击元素  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr[1]/td[6]/div/div/span/button

清空按钮功能测试
    # 点击清空按钮
    点击元素  xpath=//*[@id="app"]/div/div[1]/div/div[2]/span/button[2]
    # 获取任务名称、任务状态、执行时间的值
    ${value1}  获取值  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[1]/div/div/span/div/input
    ${value2}  获取值  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[2]/div/div/div/div/div/input
    ${value3}  获取值  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[3]/div/div/div/div/div/input
    # 空值判断
    should be empty  ${value1}
    should be empty  ${value2}
    should be empty  ${value3}
    sleep  0.5

任务历史详情页字段反显测试
    # 点击任务名称进入详情页
    点击元素  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr[1]/td[1]/div/div/span/span
    # 获取任务名称文本
    ${nameText}  获取文本  xpath=//*[@id="app"]/div/div/div[2]/div/div[3]/table/tbody/tr/td[1]/div/tt
    # 获取执行状态文本
    ${stateText}  获取文本  xpath=//*[@id="app"]/div/div/div[2]/div/div[3]/table/tbody/tr/td[9]/div/tt
    # 判断结果
    should be equal  ${nameText}  &{taskHistory}[name]
    should be equal  ${stateText}  执行成功
    # 详情页返回按钮功能测试
    点击元素  xpath=//*[@id="app"]/div/div/div[1]/button
    # 通过检索按钮可见，判断返回页面正确
    wait until element is visible  xpath=//*[@id="app"]/div/div[1]/div/div[2]/span/button[1]  5
    element should be visible  xpath=//*[@id="app"]/div/div[1]/div/div[2]/span/button[1]